package com.coincalf.dto;

import com.baomidou.mybatisplus.activerecord.Model;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 适配reids 缓存市场信息 sellCoinId 和 buyCoinId 对不上
 *  crow
 *  2018年4月21日16:47:28
 */
@Data
@NoArgsConstructor
@Accessors(chain = true)
public class MarketBaseDTO extends Model<MarketBaseDTO>{

    private static final long serialVersionUID = 1L;

    /**
     * 市场ID
     */
    private Integer id;
    /**
     * 类型：1-数字货币；2：创新交易
     */
    private Integer type;
    /**
     * 交易区域ID
     */
    private Integer tradeAreaId;
    /**
     * 买方币种ID
     */
    private Integer buyCoinId;
    /**
     * 卖方市场ID
     */
    private Integer sellCoinId;
    /**
     * 名称
     */
    private String name;
    /**
     * 标题
     */
    private String title;
    /**
     * 市场logo
     */
    private String img;
    /**
     * 开盘价格
     */
    private BigDecimal openPrice;
    /**
     * 买入手续费率
     */
    private BigDecimal feeBuy;
    /**
     * 卖出手续费率
     */
    private BigDecimal feeSell;
    /**
     * 保证金占用比例
     */
    private BigDecimal marginRate;
    /**
     * 单笔最小委托量
     */
    private BigDecimal numMin;
    /**
     * 单笔最大委托量
     */
    private BigDecimal numMax;
    /**
     * 单笔最小成交额
     */
    private BigDecimal tradeMin;
    /**
     * 单笔最大成交额
     */
    private BigDecimal tradeMax;
    /**
     * 价格小数位
     */
    private Integer priceScale;
    /**
     * 数量小数位
     */
    private Integer numScale;
    /**
     * 合约单位
     */
    private Integer contractUnit;
    /**
     * 点
     */
    private BigDecimal pointValue;
    /**
     * 交易时间
     */
    private String tradeTime;
    /**
     * 交易周期
     */
    private String tradeWeek;
    /**
     * 排序列
     */
    private Integer sorting;
    /**
     * 状态
     0禁用
     1启用
     */
    private Integer status;
    /**
     * 更新时间
     */
    private Date updateTime;
    /**
     * 创建时间
     */
    private Date createTime;

    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}
